1 pg_restore 语法
pg_restore --help
pg_restore可以从pg_dump创建的存档中恢复一个PostgreSQL数据库。 用法:
pg_restore [选项]... [文件名]
通用选项:
-d, --dbname=NAME 连接到数据库名称
-f, --file=文件名 输出文件名
-F, --format=c|d|t 备份文件格式(应该是自动的)
-l, --list 打印存档的汇总目录
-v, --verbose 详细信息模式
-V, --version 输出版本信息并退出
-?, --help 显示此帮助信息并退出
恢复控制选项:
-a, --data-only 仅恢复数据,而不恢复schema
-c, --clean 在重新创建数据库对象之前清除(删除)数据库对象
-C, --create 创建目标数据库
-e, --exit-on-error 恢复期间发生错误时退出,若不设定则默认为继续恢复
-I, --index=NAME 恢复命名索引
-j, --jobs=NUM 使用这多个并行作业进行恢复
-L, --use-list=FILENAME 将此文件的目录用于选择输出或对输出进行排序
-n, --schema=NAME 仅恢复此schema中的对象
-N, --exclude-schema=NAME 不恢复该schema中的对象 ➊
-O, --no-owner 跳过对象所有权的恢复
-P, --function=NAME(args) 恢复命名函数
-s, --schema-only 仅恢复schema,而不恢复数据
-S, --superuser=NAME 用于禁用触发器的超级用户名
-t, --table=NAME 恢复命名表(含表和视图等) ➋
-T, --trigger=NAME 恢复命名触发器
-x, --no-privileges 跳过访问特权(grant/revoke)的恢复
-1, --single-transaction 作为单个事务恢复
--enable-row-security 启用行安全性 ➌
--disable-triggers 在仅恢复数据期间禁用触发器
--no-data-for-failed-tables 如果表创建失败,则不对其进行数据恢复
--no-publications 不导出逻辑复制发布端数据源定义 ➍
--no-security-labels 不恢复安全标签
--no-subscriptions 不导出逻辑复制订阅端的数据订阅定义 ➎
--no-tablespaces 不恢复表空间分配
--section=SECTION 恢复命名部分(包括三个部分:pre-data、data以及post-
data。data部分包含表记录数据、大对象数据以及序列的
值;post-data部分包含索引、触发器、规则和约束(除了
验证检查约束)的定义;pre-data部分包含此外其他所有
的对象定义)
--strict-names 要求每个表和/或schema包括模式以匹配至少一个实体 ➏
--use-set-session-authorization 使用SET SESSION AUTHORIZATION命令代替ALTER
OWNER命令来设置所有权
连接选项:
-h, --host=主机名 数据库服务器主机或套接字目录
-p, --port=端口号 数据库服务器端口号
-U, --username=名称 作为指定数据库用户连接
-w, --no-password 永远不提示输入密码
-W, --password 强制要求输入密码(应该自动发生)
--role=ROLENAME 在恢复之前执行SET ROLE命令